home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / sun / AUDIO / AudioStreamSequence.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  857 b   |  56 lines

  1. package sun.audio;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.util.Enumeration;
  6.  
  7. public class AudioStreamSequence extends InputStream {
  8.    // $FF: renamed from: e java.util.Enumeration
  9.    Enumeration field_0;
  10.    // $FF: renamed from: in java.io.InputStream
  11.    InputStream field_1;
  12.  
  13.    public AudioStreamSequence(Enumeration var1) {
  14.       this.field_0 = var1;
  15.       this.field_1 = var1.hasMoreElements() ? (InputStream)var1.nextElement() : null;
  16.    }
  17.  
  18.    public int read() throws IOException {
  19.       if (this.field_1 == null) {
  20.          return -1;
  21.       } else {
  22.          int var1 = this.field_1.read();
  23.          if (var1 != -1) {
  24.             return var1;
  25.          } else {
  26.             this.field_1.close();
  27.  
  28.             for(this.field_1 = null; this.field_0.hasMoreElements() && this.field_1 == null; this.field_1 = (InputStream)this.field_0.nextElement()) {
  29.             }
  30.  
  31.             return this.read();
  32.          }
  33.       }
  34.    }
  35.  
  36.    public int read(byte[] var1, int var2, int var3) throws IOException {
  37.       if (this.field_1 == null) {
  38.          return -1;
  39.       } else {
  40.          int var4 = this.field_1.read(var1, var2, var3);
  41.          if (var4 < var3) {
  42.             if (var4 < 0) {
  43.                var4 = 0;
  44.             }
  45.  
  46.             this.field_1.close();
  47.             this.field_1 = this.field_0.hasMoreElements() ? (InputStream)this.field_0.nextElement() : null;
  48.             int var5 = this.read(var1, var2 + var4, var3 - var4);
  49.             return var5 > 0 ? var4 + var5 : var4;
  50.          } else {
  51.             return var4;
  52.          }
  53.       }
  54.    }
  55. }
  56.